<HTML><HEAD><TITLE>is_dynamic(++PredSpec)</TITLE>
</HEAD><BODY>[ <A HREF="index.html">Dynamic Predicates</A> | <A HREF="../../index.html">Reference Manual</A> | <A HREF="../../fullindex.html">Alphabetic Index</A> ]
<H1>is_dynamic(++PredSpec)</H1>
Succeeds if the procedure specified by PredSpec has been declared as
dynamic.


<DL>
<DT><EM>PredSpec</EM></DT>
<DD>Expression of the form Atom/Integer.
</DD>
</DL>
<H2>Description</H2>
   Used to test whether the procedure specified by PredSpec was declared as
   dynamic.

<P>

<H3>Modes and Determinism</H3><UL>
<LI>is_dynamic(++) is semidet
</UL>
<H3>Modules</H3>
This predicate is sensitive to its module context (tool predicate, see @/2).
<H3>Fail Conditions</H3>
Fails if the procedure specified by PredSpec has not been declared as
   dynamic.
<H3>Exceptions</H3>
<DL>
<DT><EM>(4) instantiation fault </EM>
<DD>PredSpec is not instantiated.
<DT><EM>(5) type error </EM>
<DD>PredSpec is instantiated, but not to an expression of the    form Atom/Integer.
<DT><EM>(60) referring to an undefined procedure </EM>
<DD>PredSpec is an undefined procedure.
</DL>
<H2>Examples</H2>
<PRE>
Success:
      [eclipse]: assert(p).
      yes.
      [eclipse]: is_dynamic(p/0).
      yes.

Error:
     is_dynamic(X).                (Error 4).
     is_dynamic(a).                (Error 5).
     is_dynamic(y/0).              (Error 60).



</PRE>
<H2>See Also</H2>
<A HREF="../../kernel/compiler/abolish-1.html">abolish / 1</A>, <A HREF="../../kernel/dynamic/dynamic-1.html">dynamic / 1</A>
</BODY></HTML>
